package cate.common.table.guild.fairyland.base;

import cate.common.table.EExcelNoteField;
import cate.common.table.EExcelRowClass;
import cate.common.table.ERow;
import cate.common.table.guild.treasurehouse.core.RandomTreasureItem;
import cate.common.table.guild.treasurehouse.core.TreasureItem;
import easy.java.dev.note.NoteField;

import java.util.ArrayList;
import java.util.List;

@EExcelRowClass(note = "公会秘境-公会秘境BOSS关卡 Row")
public class GuildFairyBaseRow extends ERow {
    @EExcelNoteField(fieldName = "BOSS类别")
    public int bossType;
    @EExcelNoteField(fieldName = "等级")
    public int bossLevel;
    @EExcelNoteField(fieldName = "总血量")
    public long hp;
    @EExcelNoteField(fieldName = "实例")
    public String insCode;
    @EExcelNoteField(fieldName = "挑战奖励")
    public String challengeReward;
    @EExcelNoteField(fieldName = "追击奖励")
    public String followReward;
    @EExcelNoteField(fieldName = "击杀奖励")
    public String killReward;
    @EExcelNoteField(fieldName = "固定宝库奖励")
    public String stableTreasureRewardStr;
    @EExcelNoteField(fieldName = "随机宝库奖励")
    public String randomTreasureRewardStr;
    @EExcelNoteField(fieldName = "随机宝库奖励数量")
    public int randomTreasureNum;
    @EExcelNoteField(fieldName = "消耗活跃")
    public int activeCost;
    @EExcelNoteField(fieldName = "BUFF数量")
    public int buffNum;

    @NoteField("固定宝库奖励列表")
    public List<TreasureItem> stableTreasureItems = new ArrayList<>();
    @NoteField("随机宝库奖励列表")
    public List<RandomTreasureItem> randomTreasureItems = new ArrayList<>();

    @Override
    public void decode() {
        super.decode();
        stableTreasureItems = TreasureItem.parse(stableTreasureRewardStr);
        randomTreasureItems = RandomTreasureItem.parse(randomTreasureRewardStr);
    }
}
